<template>
	<view>
		<u-navbar :title="$t('mine.gdgn')" placeholder autoBack bgColor="#f7fbfe">
			<view class="flexright xiaohui strongtext" slot="right" @click="jumpurl('/pages/mine/fuwugl')">{{$t('gdgn.fwgl')}}</view>
		</u-navbar>
		<view class="mainpadding2">
			<view class="mainpadding_top ffffff radius" v-for="(item,index) in list" :key="index" v-if="item.num">
				<view class="xiaohei sanshier fonweight">{{item.typeName}}</view>
				<view class="flexleft flex_wrap">
					<view class="flexcenter ershiw" v-for="(ite) in item.list" :key="ite.id" v-if="ite.showStatus==1">
						<view class="flexcolumn margin_top" @click="tapclick(ite)">
							<image :src="ite.serviceImage" class="myicon" mode=""></image>
							<view class="smalltext xiaohei margin_top1">{{ite.serviceName}}</view>
						</view>
					</view>
				</view>
			</view>
		</view>
	</view>
</template>

<script>
	const httpRequest = require("@/common/httpRequest.js")
	export default {
		data() {
			return {
				list: []
			}
		},
		onShow() {
			this.init()
		},
		methods: {
			tapclick(item) {
				let that = this
				if (item.linkType == 'app') { //如果是app
					let openUrl = item.linkUrl
					plus.runtime.openURL(encodeURI(openUrl), function(res) {
						// 打开指定URL地址失败时回调，并返回失败信息。
					});
				}
				if (item.linkType == 'mini') { //如果是微信小程序
					plus.share.getServices(res => {
						let sweixin = null;
						sweixin = res.find(i => i.id === 'weixin')
						if (sweixin) {
							// 分享跳转到微信小程序
							sweixin.launchMiniProgram({
								id: item.miniId, //微信小程序原生id
								path: item.linkUrl, //    打开小程序的页面路径，不传默认跳转首页
								type: 0 //     微信小程序版本类型，可取值： 0-正式版； 1-测试版； 2-体验版。 默认值为0。
							})
						} else {
							uni.showToast({
								title: that.$t('gdgn.azwx'),
								icon: 'none'
							})
						}
					}, err => {
						console.log("分享失败"); // 获取分享服务列表失败
					});
				}
				if (item.linkType == 'H5') { //如果是H5
					uni.navigateTo({
						url: "/pages/mine/webview?msg=" + encodeURIComponent(JSON.stringify(item)),
						fail(err) {
							console.log(err);
						}
					})
				}
			},
			init() {
				httpRequest.request('/api/v1/serviceType/listService', 'GET', {}).then(res => {
					res.data.forEach(item => {
						let num = 0
						item.list.forEach(ite => {
							if (ite.showStatus == 1) {
								num = num + 1
							}
						})
						this.$set(item, "num", num)
					})
					this.list = res.data
				})
			},
		}
	}
</script>

<style>
	page {
		background-color: #f7fbfe;
	}

	.myicon {
		width: 75rpx;
		height: 75rpx;
	}
</style>